跳到主要内容

签名说明

由于 XT 需要为第三方平台提供一些开放接口,因此需要考虑数据安全问题。
例如数据是否被篡改、数据是否过期、数据是否可重复提交,以及接口的访问频率。
其中,数据是否被篡改是最重要的问题。

说明

  1. 请先在用户中心申请 appkeysecretkey。每个用户的 appkey 和 secretkey 都不相同。

  2. 添加 timestamp,其值应为发送请求时的 Unix 时间戳(毫秒)。
    服务器根据此值验证数据时间。

  3. 添加 signature,其值通过特定的签名算法规则获得。

  4. 添加 recvwindow(定义请求的有效时间)。

    • 当服务器接收到请求时,会检查请求中的时间戳,确保其在 2 到 60 秒之间。
    • 任何时间戳超过 5000 毫秒的请求都被视为无效。
    • 可使用可选参数 recvWindow 设置时间窗口值。
    • 如果服务器判定客户端的时间戳提前超过 1 秒,请求也将无效。
    • 网络状况可能导致延迟波动,因此可根据需要调整 recvWindow
    • 不建议: recvWindow 超过 5 秒。
  5. 添加 algorithm(签名方法/算法)。
    用户根据哈希协议计算签名。建议使用 HmacSHA256

    支持的算法:

    • HmacMD5
    • HmacSHA1
    • HmacSHA224
    • HmacSHA256(推荐)
    • HmacSHA384
    • HmacSHA512

请求头参数

名称必填示例描述
validate-appkeytruedbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83-
validate-timestamptrue1641446237201-
validate-signaturetrue0a7d0b5e802eb5e52ac0cfcd6311b0faba6e2503a9a8d1e2364b38617877574d-
validate-recvwindowtrue5000(毫秒)-
validate-algorithmstrueHmacSHA256HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512。默认:HmacSHA256
validate-signversionfalse1.0保留字段,签名版本号